#region Using References

using System.Drawing;
using Beaker.OpenCube.Game;
using Beaker.OpenCube.Resources;
using Beaker.OpenCube.Textures;
using Beaker.Services.FileSystem;

#endregion

namespace Beaker.OpenCube.Dynamic
{
	public sealed class DynamicResourcePack
		: IResourcePack
	{
		private IFolder _folder;

		/// <summary>
		/// Initializes a new instance of the <see cref="DynamicResourcePack"/> class.
		/// </summary>
		/// <param name="folder">The folder or zip file containing the resource pack.</param>
		public DynamicResourcePack( IFolder folder )
		{
			_folder = folder;
			_reader = new ResourcePackReader( folder );
		}

		private readonly ResourcePackReader _reader;

		/// <summary>
		/// Get the texture for the given block
		/// </summary>
		/// <param name="block">The block to get the texture for</param>
		/// <returns>The texture for the requested block</returns>
		public BlockTexture GetBlockTexture( Block block )
		{
			throw new System.NotImplementedException();
		}

		/// <summary>
		/// Gets a biome colouring of a given type in a given biome.
		/// </summary>
		/// <param name="biomeColorType">Type of the biome.</param>
		/// <param name="biomeColorBlockType">Type of the biome color block.</param>
		/// <returns>
		/// The colour of the block type in the requested biome.
		/// </returns>
		public Color GetBiomeColour( BiomeColorType biomeColorType, BiomeColorBlockType biomeColorBlockType )
		{
			throw new System.NotImplementedException();
		}

		/// <summary>
		/// Gets image from the specified relative path
		/// </summary>
		/// <param name="relativePath">The relative path of the image</param>
		/// <returns>The requested bitmap</returns>
		public Bitmap GetImage( string relativePath )
		{
			throw new System.NotImplementedException();
		}
	}
}